<!DOCTYPE html>
<meta charset="utf-8">
<title>Upload files in UTF-8 form</title>
<link rel="help"
      href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data">
<link rel="help"
      href="https://html.spec.whatwg.org/multipage/dnd.html#datatransferitemlist">
<link rel="help"
      href="https://w3c.github.io/FileAPI/#file-constructor">
<link rel="author" title="Benjamin C. Wiley Sittler"
      href="mailto:bsittler@chromium.org">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../support/send-file-form-helper.js"></script>
<script>
'use strict';

formPostFileUploadTest({
  fileNameSource: 'ASCII',
  fileBaseName: 'file-for-upload-in-form.txt',
  formEncoding: 'UTF-8',
  expectedEncodedBaseName: 'file-for-upload-in-form.txt',
});

formPostFileUploadTest({
  fileNameSource: 'x-user-defined',
  fileBaseName: 'file-for-upload-in-form-\uF7F0\uF793\uF783\uF7A0.txt',
  formEncoding: 'UTF-8',
  expectedEncodedBaseName: (
      'file-for-upload-in-form-\xEF\x9F\xB0\xEF\x9E\x93\xEF\x9E\x83\xEF\x9E\xA0.txt'),
});

formPostFileUploadTest({
  fileNameSource: 'windows-1252',
  fileBaseName: 'file-for-upload-in-form-â˜ºðŸ˜‚.txt',
  formEncoding: 'UTF-8',
  expectedEncodedBaseName: (
      'file-for-upload-in-form-\xC3\xA2\xCB\x9C\xC2\xBA\xC3\xB0\xC5\xB8\xCB\x9C\xE2\x80\x9A.txt'),
});

formPostFileUploadTest({
  fileNameSource: 'JIS X 0201 and JIS X 0208',
  fileBaseName: 'file-for-upload-in-form-★星★.txt',
  formEncoding: 'UTF-8',
  expectedEncodedBaseName: 'file-for-upload-in-form-\xE2\x98\x85\xE6\x98\x9F\xE2\x98\x85.txt',
});

formPostFileUploadTest({
  fileNameSource: 'Unicode',
  fileBaseName: 'file-for-upload-in-form-☺😂.txt',
  formEncoding: 'UTF-8',
  expectedEncodedBaseName: 'file-for-upload-in-form-\xE2\x98\xBA\xF0\x9F\x98\x82.txt',
});

formPostFileUploadTest({
  fileNameSource: 'Unicode',
  fileBaseName: `file-for-upload-in-form-${kTestChars}.txt`,
  formEncoding: 'UTF-8',
  expectedEncodedBaseName: `file-for-upload-in-form-${kTestFallbackUtf8}.txt`,
});

</script>
